<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ProMRDS Chapter 12 - Visual Programming Examples</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="Trevor Taylor, Software Technology" />
<meta name="keywords" content="Microsoft Robotics Developer Studio, VPL, Visual Programming Language" />
<meta name="description" content="Chapter 12 for the ProMRDS book" />
<link href="../Styles/Standard.css" rel="stylesheet" type="text/css" />
</head>
<body>
<img src="Images/FollowLine_Icon.JPG" alt="Line Following" align="right" style="margin:0; padding:0;" />
<table width="80%">
<tr>
<td width="200"><a href="http://www.ProMRDS.com"><img src="../Images/HomeIcon.gif" alt="ProMRDS Home Page" border="0" /></a></td>
<td width="*" align="center"><img src="Images/Chapter12.gif" alt="Chapter 12" /></td>
<td width=""></td>
</tr>
<tr>
<td colspan="3"><hr /></td>
</tr>
</table>

<div class="page">
<p class="heading"><span class="smallhead">Professional</span><br />&nbsp;&nbsp;&nbsp;Microsoft Robotics Developer Studio<br />
<a href="http://www.ProMRDS.com" onmouseout="Home.src='../Images/Home.gif';" onmouseover="Home.src='../Images/Home_f2.gif';"><img name="Home" src="../Images/Home.gif" width="150" height="25" border="0" alt="Home Page" /></a>
<a href="../ReadMe.htm" onmouseout="Contents.src='../Images/Contents.gif';" onmouseover="Contents.src='../Images/Contents_f2.gif';"><img name="Contents" src="../Images/Contents.gif" width="150" height="25" border="0" alt="Book Contents" /></a>
<a href="../Chapter11/ReadMe.htm" onmouseout="Prev.src='../Images/Previous.gif';" onmouseover="Prev.src='../Images/Previous_f2.gif';"><img name="Prev" src="../Images/Previous.gif" width="150" height="25" border="0" alt="Previous Chapter" /></a>
<a href="../Chapter13/ReadMe.htm" onmouseout="Next.src='../Images/Next.gif';" onmouseover="Next.src='../Images/Next_f2.gif';"><img name="Next" src="../Images/Next.gif" width="150" height="25" border="0" alt="Next Chapter" /></a><br />
</p>

<h1>Chapter 12 - Visual Programming Examples</h1>

<h2>Summary</h2>
<p>
Several more sophisticated examples are included in this chapter to
show off the features of VPL and how to take advantage of existing
services.
</p>
<p>
The examples use the simulation environment instead of actual robot hardware
so that they are accessible to everyone. In most cases, they can be converted
to run with actual hardware just by changing the manifest that is used. For instance,
there is a second example of the Arm Mover that works with a real Lynx L6 arm.
</p>
<ul>
<li>The relationship between VPL activities and DSS services;</li>
<li>How to compile a diagram into a C# service implementation; and</li>
<li>How to associate an activity with a specific service.</li>
</ul>
<p>
Simple examples are provided that show how to control actuators and
also how to read data from sensors.
</p>

<h2>Contents</h2>
<p>
This chapter contains five VPL examples.
The links below provide more information.
</p>
<ul>
<li><a href="VPLExplorer.htm">VPL Explorer</a></li>
<li><a href="VPLSumo.htm">VPL Sumo One</a></li>
<li><a href="ArmMover.htm">Arm Mover</a></li>
<li><a href="LineFollowing.htm">Line Following</a></li>
<li><a href="BallFollowing.htm">Ball Following</a></li>
</ul>
<p>
In addition to these examples, there are some other projects that are
used to support them:
</p>
<ul>
<li>LineMesh - Used to convert a bitmap to a mesh for Line Following</li>
<li>SimPhotoCell - A simulated light sensor using a downward-facing webcam</li>
<li>BallCourt - Creates a simulated environment with a ball and CoroBot robot</li>
</ul>
<p>
The Cyclone simulated sumo robot from Chapter 9 can be used in the
VPLSumo.
</p>
<h2>Important Notes</h2>
<ul>
<li>All the cautions on hardware in the Simulation chapters, especially graphics cards,
apply to these examples as well.</li>
<li>You should have at least 1GB of memory in your PC to run these applications.</li>
<li>An Xbox Game Controller is required for the VPLExplorer and ArmMover. (A
standard Joystick will not work.) You should use a wired USB Xbox controller,
<b>not</b> a wireless controller. Several people have
reported problems using wireless Xbox controllers, whereas nobody has had trouble
with the wired version.</li>
<li>You might have to recompile some of the supporting projects first.</li>
<li>VPL Sumo requires you to first download and install the Sumo Simulation available from the
<a href="http://msdn2.microsoft.com/en-us/robotics/aa731520.aspx">MRDS Downloads page</a>.</li>
</ul>

<h2>Legal Stuff</h2>
<p>
This code is available free of charge for non-commercial use.
Please see the <a href="../Licence.htm">Licence Agreement</a>.
</p>

</div>

<hr />
<div class="footer">
Page maintained by:
<a href="m&#97;&#105;&#108;t&#111;:webmaster&#64;promrds&#46;com">webmaster&#64;promrds.com</a><br />
Last Updated: Mar-2008
</div>

</body>
</html>
